Download Latest Version TexmakerPlusPortable_4.0.4_Dev_Test_4_English.paf.exe (43.6 MB)
Email in envelope

Get an email when there's a new version of darksabre76's Apps

Home / PA.c Launcher Enhancements
Name Modified Size InfoDownloads / Week
Parent folder
Languages 2013-02-02
Segments 2013-02-02
README 2013-02-02 4.0 kB
ProcFunc.nsh 2013-02-01 23.0 kB
PortableApps.comLauncher.nsi 2013-02-01 12.8 kB
Totals: 5 Items   39.7 kB 0
This folder is for PortableApps.com Launcher (http://portableapps.com/apps/development/portableapps.com_launcher) customization. Changes are detailed below. To "install" changes, copy the files into the appropriate subfolder of the Other\Source directory.
--------------------------------------------
OpenJDK Portable (http://portableapps.com/node/35441) Support
------
The changes below were made originally to provide inbuilt JDK support for BlueJ Portable (http://portableapps.com/node/27659) but the changes below can be used with any program whether it needs JDK or not; it only affects running the JDK.

To add native support for OpenJDK Portable, use the following files as replacements:
	PortableApps.comLauncher.nsi
	Languages\English.nsh
	Segments\ExecString.nsh
	Segments\InstanceManagement.nsh
	Segments\JDK.nsh

The following are descriptions of changes in each of the above files:
	PortableApps.comLauncher.nsi
		Added "${RunSegment} JDK" under Init
	Languages\English.nsh
		Added the following lines to account for JDK support:
			${LangFileString} LauncherNoJDK "$AppName requires a Java Development Toolkit. Please install OpenJDK Portable from http://portableapps.com/node/35441 and then try again."
			${LangFileString} LauncherNoJDKDownload "$AppName requires a Java Development Toolkit. Would you like to automatically download and install jPortable on your device now?"
			${LangFileString} LauncherNoJDKCancelled "$AppNamePortable cannot run without a Java Development Toolkit and will now exit."
		Modeled the lines after the associated lines for jPortable
	Segments\ExecString.nsh
		Modified the opening if-then statement to include JDK references:
			${If} $UsingJavaExecutable != true
			${AndIf} $UsingOpenJDKExecutable != true
				StrCpy $ExecString `"$AppDirectory\$ProgramExecutable"`
			${Else}
				${If} $UsingOpenJDKExecutable == true
					StrCpy $ExecString `"$OpenJDKDirectory\bin\$ProgramExecutable"`
				${Else}
					StrCpy $ExecString `"$JavaDirectory\bin\$ProgramExecutable"`
				${EndIf}
			${EndIf}
		Note this means that OpenJDK takes precidence over jPortable
		This also means that Java support can either be Java=true or OpenJDK=true
	Segments\InstanceManagement.nsh
		For every line that contained:
			${AndIfNot} $UsingJavaExecutable == true
		I added a line directly after stating:
			${AndIfNot} $UsingOpenJDKExecutable == true
		This just enables OpenJDK to be treated like jPortable so that the launcher doesn't assume javaw.exe is in the App folder
	Segments\JDK.nsh
		New file modeled off of Java.nsh
		Major differences include:
			Checking if a folder contains javac.exe as well as java.exe and javaw.exe
			New variable names to be referenced externally (such as $OpenJDKDirectory)
			References to the new language strings added to Languages\English.nsh
			Correct paths to locally installed versions and registry entries
		Enables the use of [Activate] OpenJDK=none|find|require in the launcher.ini file of a program

--------------------------------------------
Temporary Executables Support
------
The changes below were originally to compensate for problems stemming from temporary executable use in MiKTeX Portable (http://portableapps.com/node/36247). In this instance, a temporary executable is used instead of the main executable, thus making it originally impossible to have the portable instance wait for the tray icon. This only affects programs that allow for temporary executables.

To enable support for running and waiting temporary executables (.tmp), use the following files as replacements:
	ProcFunc.nsh

The following are descriptions of changes in each of the above files:
	ProcFunc.nsh
		For every instance of:
			${If} $2 == ".exe"
		I added the following directly after:
			${OrIf} $2 == ".tmp"
		This allows for .tmp files in the process table to be treated as executables
		All items such as CloseEXE and WaitForEXEN are affected by this
Source: README, updated 2013-02-02